package com.tz.crm.dao;

import com.tz.crm.entity.Area;

import java.util.List;

/**
 * 地域接口
 */
public interface AreaDao extends BaseDao<Area, String> {

    /**
     * 根据地区id查找地区信息
     *
     * @param id Area id
     * @return Area
     */
    Area getById(String id);

    /**
     * 根据地区名查找所有其下属地区列表信息
     *
     * @param name 地区名
     * @return 下属地区列表
     */
    List<Area> getAreaWithChildren(String name);

    /**
     * 根据地区名称查找地区信息
     *
     * @param name 地区名
     * @return 地区
     */
    Area getByName(String name);

    /**
     * 根据level查询所有地区列表
     *
     * @param level 地区level
     * @return 地区列表
     */
    List<Area> getByLevel(int level);

    /**
     * 根据地区ID 查询出下属地区列表
     *
     * @param id 地区ID
     * @return 地区列表
     */
    List<Area> getChildrenByParentId(String id);

}
